window.addEventListener('DOMContentLoaded', function(e) {
    // 定义手机号正则表达式
    let mobileRex = /^1[3456789]\d{9}$/;
    // 定义密码正则表达式
    let pwdRex = /^.{6,12}$/;
    // 定义手机验证码正则表达式
    let codeRex = /^\d{4}$/;

    // 登录页面获取登录按钮
    let loginBtn = window.document.querySelector('#login');
    // 注册页面获取注册按钮
    let registerBtn = window.document.querySelector('#register');
    // 获取立即注册按钮
    let ToRegist = window.document.querySelector('#ToRegist');
    // 获取返回登录按钮
    let ToLogin = window.document.querySelector('#ToLogin');
    // 获取手机注册表单手机号
    let phone_reg = window.document.querySelector('#phone_reg');
    // 获取手机注册表单密码pwd_reg_null_msg
    let pwd_reg = window.document.querySelector('#pwd_reg');
    // 获取手机注册表单密码
    let checkpwd = window.document.querySelector('#checkpwd');
    // 获取手机注册表单确认密码
    let code = window.document.querySelector('#code');
    // 不符合手机号规则提示信息••••••••••
    let phone_reg_rex_msg = window.document.querySelector('#phone_reg_rex_msg');
    // 不符合手机号规则提示信息
    let pwd_reg_null_msg = window.document.querySelector('#pwd_reg_null_msg');
    // 不符合手机号规则提示信息
    let pwd_reg_rex_msg = window.document.querySelector('#pwd_reg_rex_msg');
    let checkpwd_reg_rex_msg = window.document.querySelector('#checkpwd_reg_rex_msg');
    let code_reg_null_msg = window.document.querySelector('#code_reg_null_msg');
    let code_reg_rex_msg = window.document.querySelector('#code_reg_rex_msg');
    let getCode = window.document.querySelector('#getCode');
    // 回车事件调用方法参考 默认为登录方法
    let flag = 'ToLogin';
    /**
     * 点击立即注册绑定回车事件为注册事件
     */
    ToRegist.addEventListener('click', function(e) {
        flag = 'ToRegist';
    });
    ToLogin.addEventListener('click', function(e) {
        flag = 'ToLogin';
    });
    /**
     * 注册按钮单击事件
     */
    registerBtn.addEventListener('click', registerFun);
    /**密码
     * 回车事件绑定
     */
    window.document.addEventListener('keyup', function(e) {
        if (e.keyCode == 13) {
            switch (flag) {
                case 'ToRegist':
                    registerFun();
                    break;
                case 'ToLogin':
                    phone
                    loginFun();
                    break;

                default:
                    break;
            }
        }
    });
    /**
     * 注册页码手机号表单绑定输入事件
     */
    phone_reg.addEventListener('input', function(e) {
        phone_reg_null_msg.style.display = 'none';
        phone_reg_rex_msg.style.display = 'none';
        if (phone_reg.value != null && '' != phone_reg.value.trim()) {
            // 如果主页手机号表单内容不为空 获取注册手机号
            let phone = phone_reg.value.trim();
            if (phone.length > 11) {
                // 第一个参数指定字符串的开始位置，第二个参数指定字符串的结束位置
                phone = phone.substring(0, 11);
                // 如果输入手机号长度大于11位则截取前11位反填入表单
                phone_reg.value = phone;
            } else if (phone.length == 11) {
                // 正则表达式验证手机号是否正确
                if (!mobileRex.test(phone)) {
                    phone_reg_rex_msg.style.display = 'block';
                }
            }
        }
        showRegBtn();
    });
    /**
     * 注册页码密码表单绑定输入事件
     */
    pwd_reg.addEventListener('input', function(e) {
        pwd_reg_null_msg.style.display = 'none';
        pwd_reg_rex_msg.style.display = 'none';
        if (pwd_reg.value != null && '' != pwd_reg.value.trim()) {
            // 如果主页手机号表单内容不为空 获取注册手机号
            let pwd = pwd_reg.value.trim();
            // 正则表达式验证手机号是否正确
            if (pwdRex.test(pwd)) {
                pwd_reg_null_msg.style.display = 'none';
                pwd_reg_rex_msg.style.display = 'none';
            } else {
                pwd_reg_rex_msg.style.display = 'block';
            }
        }
        showRegBtn();
    });

    /**
     * 注册页码确认密码表单绑定输入事件
     */
    checkpwd.addEventListener('input', function(e) {
        checkpwd_reg_null_msg.style.display = 'none';
        checkpwd_reg_rex_msg.style.display = 'none';
        if (pwd_reg.value == null || pwd_reg.value.trim() == '') {
            pwd_reg_null_msg.style.display = 'block';
        } else if (checkpwd.value != null || checkpwd.value.trim() != '') {
            let pwd = pwd_reg.value.trim();
            let checkValue = checkpwd.value.trim();
            if (pwd != checkValue) {
                checkpwd_reg_rex_msg.style.display = 'block';
            }
        }
        showRegBtn();
    });
    /**
     * 注册页码手机验证码表单绑定输入事件
     */
    code.addEventListener('input', function(e) {
        code_reg_null_msg.style.display = 'none';
        code_reg_rex_msg.style.display = 'none';
        if (code.value != null && '' != code.value.trim()) {
            let codeValue = code.value.trim();
            if (codeRex.test(codeValue)) {
                code_reg_null_msg.style.display = 'none';
                code_reg_rex_msg.style.display = 'none';
            } else {
                code_reg_rex_msg.style.display = 'block';
            }
        }
        showRegBtn();
    });
    let count = 60;
    let codeTimeText = '';
    getCode.addEventListener('click', function(e) {

        getCode.disabled = true;
        codeTimeText = '剩余时间' + count-- + '秒';
        getCode.innerText = codeTimeText;
        var interval = setInterval(function() {
            if (count < 10) {
                codeTimeText = '剩余时间0' + count-- + '秒';
            } else {
                codeTimeText = '剩余时间' + count-- + '秒';
            }

            getCode.innerText = codeTimeText;
            if (count == 0) {
                count = 60;
                condition
                getCode.innerText = '获取验证码';
                clearInterval(interval);
                getCode.disabled = false;
            }
        }, 1000);
    });
    getCode.addEventListener('keyup', function(e) {
        if (e.keyCode == 13) {
            e.preventDefault();
            e.cancelBubble();
            return false;
        }
    });
    getCode.addEventListener('keydown', function(e) {
        if (e.keyCode == 13) {
            e.preventDefault();
            e.cancelBubble();
            e.cancelBubble();
            return false;
        }
    });
    getCode.addEventListener('keypress', function(e) {
        if (e.keyCode == 13) {
            e.preventDefault();
            e.cancelBubble();
            return false;
        }
    });

    let reg_inputs = window.document.querySelectorAll('.res_site');

    function showRegBtn(e) {
        let regBtnFlagArray = [false, false, false, false];
        for (let index = 0; index < reg_inputs.length; index++) {
            switch (index) {
                case 0:
                    if (reg_inputs[0].value != null && reg_inputs[0].value.trim() != '' && mobileRex.test(reg_inputs[0].value.trim())) {
                        regBtnFlagArray[0] = true;
                    }
                    break;
                    phone
                case 1:
                    if (reg_inputs[1].value != null && reg_inputs[1].value.trim() != '' && pwdRex.test(reg_inputs[1].value.trim())) {
                        regBtnFlagArray[1] = true;
                    }
                    break;
                case 2:
                    if (reg_inputs[2].value != null && reg_inputs[2].value.trim() != '') {
                        if (reg_inputs[1].value.trim() == reg_inputs[2].value.trim()) {
                            regBtnFlagArray[2] = true;
                        }
                    }
                    break;
                case 3:
                    if (reg_inputs[3].value != null && reg_inputs[3].value.trim() != '' && codeRex.test(reg_inputs[3].value.trim())) {
                        regBtnFlagArray[3] = true;
                    }
                    break;

                default:
                    break;
            }
            if (regBtnFlagArray[0] && regBtnFlagArray[1] && regBtnFlagArray[2] && regBtnFlagArray[3]) {
                register.style.display = 'block';
            }
        }
    }

    function registerFun(e) {
        let data = new Object();
        for (let index = 0; index < reg_inputs.length; index++) {
            const input = reg_inputs[index];
            let name = input.name;
            let value = input.value;
            data[name] = value;
        }
        let flag = [false, false, false, false];
        if (data.phone == '') {
            phone_reg_null_msg.style.display = 'block';
            phone_reg.focus();
            return;
        } else if (!mobileRex.test(data.phone)) {
            phone_reg_null_msg.style.display = 'none';
            phone_reg_rex_msg.style.display = 'block';
            phone_reg.focus();
            return;
        } else {
            flag[0] = true;
        }

        if (data.pwd == '') {
            pwd_reg_null_msg.style.display = 'block';
            pwd_reg.focus();
            return;
        } else if (!pwdRex.test(data.pwd)) {
            pwd_reg_null_msg.style.display = 'none';
            pwd_reg_rex_msg.style.display = 'block';
            pwd_reg.focus();
            return;
        } else {
            flag[1] = true;
        }

        if (data.checkpwd == '') {
            checkpwd_reg_null_msg.style.display = 'block';
            checkpwd.focus();
            return;
        } else if (data.checkpwd != data.pwd) {
            checkpwd_reg_null_msg.style.display = 'none';
            checkpwd_reg_rex_msg.style.display = 'block';
            checkpwd.focus();
            return;
        } else {
            flag[2] = true;
        }

        if (data.code == '') {
            code_reg_null_msg.style.display = 'block';
            code.focus();
            return;
        } else if (!codeRex.test(data.code)) {
            code_reg_null_msg.style.display = 'none';
            code_reg_rex_msg.style.display = 'block';
            code.focus();
            return;
        } else {
            flag[3] = true;
        }
        if (flag[0] && flag[1] && flag[2] && flag[3]) {
            // ajax提交表单
            window.console.log(JSON.stringify(data));
        }
    }
});